/*
 * PropertyCalculator.java - Copyright May 14, 2012 Z Networks Group, Inc. All rights reserved.
 * Z Networks Group PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package com.andromeda.skadi.property;

/**
 * Este tipo de objetos calculan valores para propiedades que son calculadas de
 * acuerdo a otras propiedades.
 *
 * @author Dickinson Roman Arismendy Torres
 */
public interface PropertyCalculator<T> {

    /**
     * Calcula el valor de la propiedad.
     *
     * @param dependents las propiedades de las cuales se depende para calcular
     * el valor de la nueva propiedad.
     * @return el valor calculado de la propiedad.
     */
    public T calculate(Property... dependents);
}
